package com.d3works.apps.supplychain.service;

import com.d3works.apps.stock.db.StockLocationLine;
import com.d3works.exception.D3worksException;

public interface StockLocationLineReservationService {

  /**
   * If the requested quantity is greater than the allocated quantity, will allocate the requested
   * quantity in requesting stock move lines.
   *
   * @param stockLocationLine
   */
  void allocateAll(StockLocationLine stockLocationLine) throws D3worksException;

  /**
   * For every stock move lines, put reserved quantity at 0 without changing requested quantity.
   *
   * @param stockLocationLine
   * @throws D3worksException
   */
  void deallocateAll(StockLocationLine stockLocationLine) throws D3worksException;
}
